const fs = require('fs');

// 1. 封装异步操作（定义一个Promise 、 定下一个承诺）
let p = new Promise((resolve, reject) => {
  // 这里封装异步任务（但是也可以写同步代码）
  fs.readFile('./files/a.txt', 'utf-8', (err, data) => {
    // 读取成功，将结果传递给 resolve 函数； // 读取失败，将错误信息传递给 reject 函数
    if (err) {
      reject(err);
    } else {
      resolve(data.length);
    }
  });
});

// 2. 获取结果
// p.then(() => { 用于获取成功的结果 }, () => { 用于获取错误信息 });
p.then(res1 => {
  console.log(res1);
}, err => {
  console.log(err);
})